let BASE_URL = '';
let port = 3000
function getLocalIPv4() {  //获取本机IPv4

    if (typeof window != 'undefined') {
        var RTCPeerConnection = window.RTCPeerConnection || window.mozRTCPeerConnection || window.webkitRTCPeerConnection;
        if (RTCPeerConnection) (() => {
            var rtc = new RTCPeerConnection()
            rtc.createDataChannel(''); //创建一个可以发送任意数据的数据通道
            rtc.createOffer(offerDesc => { //创建并存储一个sdp数据
                rtc.setLocalDescription(offerDesc)
            }, e => { console.log(e) })
            rtc.onicecandidate = (evt) => { //监听candidate事件
                if (evt.candidate) {
                    // console.log('evt:',evt.candidate)
                    let ip_rule = /([0-9]{1,3}(\.[0-9]{1,3}){3}|[a-f0-9]{1,4}(:[a-f0-9]{1,4}){7})/
                    let ip_addr = ip_rule.exec(evt.candidate.candidate)
                    // 连接手机热点时可能会造成RTCPeerConnection的二次发送，以此来判断是否是正确的ip地址
                    if(ip_addr[1].split('.').length<4){
                        return
                    }
                    if (ip_addr) {
                        sessionStorage.setItem("ip", 'http://' + ip_addr[1] + ':' + port + '/')  // 保存 本机IP
                        BASE_URL = 'http://' + ip_addr[1] + ':' + port + '/'
                    }
                    console.log('ip_addr:', ip_addr)   //打印获取的IP地址
                    /* 注 这个方法需要浏览器展示ip才能正常使用
                    * 谷歌(Chrome) 删除隐藏IP
                    * 浏览器输入：chrome://flags/#enable-webrtc-hide-local-ips-with-mdns  把 Anonymize local IPs exposed by WebRTC 设置为 disabled ( 刷新程序,IP正常显示 )
                    * 火狐(FireFox) 删除隐藏IP
                    * 浏览器输入 about:config   搜索配置 media.peerconnection.enabled 改为false ( 刷新程序,IP正常显示 )
                    */
                }
            }
            return
        })()
        else { console.log("没有找到") }

    }
}
getLocalIPv4()
console.log(BASE_URL, '获取baseurl');
export default {
    BASE_URL
}